<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%
/*
현재경로 얻기
url를 '/' 로 분리하여 업무명만 얻어내기 프로세ㅅ스는 '_'를 분리
*/
String path = request.getServletPath();
String[] tmpPath1 = path.split("/");
String[] tmpPath2 = tmpPath1[2].split("_");
String cPath = "../" + tmpPath1[1] + "/" + tmpPath2[0];

int len = cPath.length();

boolean	 access_auth	= false;		// 접근권한
boolean write_auth		= false;		// 쓰기권한
int menu1Index = 0;		// 1depth 배열 index
int menu2Index = 0;		// 2depth 배열 index
String menu1Depth = "";	// 1depth sid
String menu2Depth = "";	// 2depth sid
String currentMenu	= "";	// 현재 메뉴명
%>
		<ul id="top_menu">
<%
// 상단 대메뉴
for(int i=0; i<menuArr.length; i++)
{
	if (!menuArr[i][3].equals("1")) continue;

	/*
	1depth 링크값 결정 (디폴트는 원래 링크)
	첫번째 2depth 하위 메뉴가 1depth 메뉴의 링크로 걸림
	3depth 하위 메뉴플 갖는 경우 3depth 까지 체크하여 링크
	*/
	String menu_url = menuArr[i][2];
	for(int j=i+1; j<menuArr.length; j++)
	{
		if (menuArr[j][3].equals("2") && menuArr[j][4].equals(menuArr[i][0]))
		{
			menu_url = menuArr[j][2];
			for(int k=j+1; k<menuArr.length; k++)
			{
				if (menuArr[k][3].equals("3") && menuArr[k][4].equals(menuArr[j][0]))
				{
					menu_url = menuArr[k][2];
					break;
				}
			}
			break;
		}
	}
%>
			<li><a href="<%=menu_url%>"><%=menuArr[i][1]%></a></li>
<%
}

/*
현재 경로에 해당하는 1depth ID값 얻기
현재 경로와 배열의 경로를 비교하여 같은것을 찾는다
*/
for(int i=0; i<menuArr.length; i++)
{
	if (menuArr[i][2].length() < len) continue;

	if ( menuArr[i][2].substring(0, len).equals(cPath) )
	{
		currentMenu = menuArr[i][6];
		if (menuArr[i][3].equals("1"))
		{
			menu1Depth = menuArr[i][0];
			access_auth = true;
			if (menuArr[i][8].equals("Y"))
				write_auth = true;
			break;
		}
		else
		{
			String[] tmpPath = menuArr[i][5].split("_");
			menu1Depth = tmpPath[0];
			access_auth = true;
			if (menuArr[i][8].equals("Y"))
				write_auth = true;
			break;
		}
	}
}

/* 현재 메뉴의 1depth 배열 index 얻기 */
for(int i=0; i<menuArr.length; i++)
{
	if (!menuArr[i][3].equals("1")) continue;
	if (menuArr[i][0].equals(menu1Depth))
		menu1Index = i;
}
%>
		</ul>
<%
if (!access_auth)
{
%>
<script type="text/javascript">
alert("접근권한이 없습니다. \r\n관리자에게 문의 하세요.");
history.go(-1);
</script>
<%
	return;
}
%>
		<script type="text/javascript">
		var write_auth = <%=write_auth%>;
		var licationPth = "<%=currentMenu%>";
		<c:if test="${ adminInfo.admin_gubun eq '1' }" >
		write_auth = true;
		</c:if>
		</script>
		<!-- Left 메뉴 영역 -->
		<div id="left">
			<h2><a href="<%=menuArr[menu1Index][2]%>"><%=menuArr[menu1Index][1]%></a></h2>
			<ul>
<%
/*
 2depth 나타내기
 depth가 2 이면서 부모id가 1depth id 인 메뉴
*/
for(int i=menu1Index; i<menuArr.length; i++)
{
	// 2차 메뉴가 아니고 1depth 하위 메뉴가 아니면 continue
	if (!menuArr[i][3].equals("2") || !menuArr[i][4].equals(menu1Depth)) continue;

	String menu_url = menuArr[i][2];
	menu2Index = i;
	menu2Depth = menuArr[i][0];

	boolean mflag = false;	// 3depth 존재 유무
	boolean aflag = false;		// 메뉴활성화 유무

	for(int j=menu2Index; j<menuArr.length; j++)
	{
		if (!menuArr[j][3].equals("3") || !menuArr[j][4].equals(menu2Depth)) continue;

		if (!mflag)
		{
			mflag = true;
			menu_url = menuArr[j][2];
		}

		if (menuArr[j][2].length() < len) continue;
		
		if (menuArr[j][2].substring(0, len).equals(cPath))
			aflag = true;
	}

	/*
	3depth가 존재하면 표시
	*/
	if (mflag == true)
	{
%>
				<li <%=aflag ?  "class='on'" : "" %>><a href="<%=menu_url%>"><b><%=menuArr[i][1]%></b></a>
					<ul>
<%
		for(int j=menu2Index; j<menuArr.length; j++)
		{
			if (!menuArr[j][3].equals("3") || !menuArr[j][4].equals(menu2Depth)) continue;
%>
						<li><a href="<%=menuArr[j][2]%>"><%=menuArr[j][1]%></a></li>
<%
		}		
%>
					</ul>
				</li>
<%
	}
	else
	{
		/*
		 메뉴 활성화 표시
		 현재 경로보다 경로문자열 길이가 작으면 무조건 비활성화
		 */
		if (menuArr[i][2].length() < len)
		{
%>
				<li><a href="<%=menu_url%>"><%=menuArr[i][1]%></a></li>
<%
		}
		// 현재 경로보다 경로문자열 길이가 같거나 많으면 길이만큼 잘라내여 활성화여부 판단
		else
		{
%>
				<li <%=menuArr[i][2].substring(0, len).equals(cPath) ? "class='on'" : "" %>><b><a href="<%=menu_url%>"><%=menuArr[i][1]%></b></a></li>
<%
		}
	}
}
%>
			</ul>
		</div>		